package com.baizhi.hospital.dao;

import com.baizhi.hospital.entity.Department;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DepartmentDao {
	/**
	 *
	 * @param offset 分页的起始位置
	 * @param limit  显示的条数
	 * @param name 模糊查询的内容
	 * @return 返回符合这些条件
	 */
	List<Department> selectDepartmentPageAndVague(@Param("offset") int offset, @Param("limit") int limit, @Param("name") String name);


	/**
	 *
	 * @param name  模糊查询的参数
	 * @return  返回符合条件的数量
	 */
	int selectCount(@Param("name") String name);

	/**
	 *
	 * @param department 将对象中的所有的信息添加到对应 数据库
	 * @return 返回受影响的行数
	 */

	int insertDepartment(Department department);


	/**
	 *
	 * @param department 将需要修改的对象传进去 进行修改
	 * @return 返回受影响的行数
	 */
	int updateDepartment(Department department);

	/**
	 * @param id 根据id删除某一项记录
	 * @return 返回受影响的行数
	 */
	int deleteDepartment(int id);


	/**
	 *
	 * @param array 对数组中的id做批量删除
	 * @return 返回受影响的行数
	 */
	int  multiDelete(int[] array);

	/**
	 *
	 * @return 查询所有的部门
	 */
	List<Department> selectRegisterDepartment();
}
